1. Field of the Disclosure
The present disclosure relates generally to processing systems and more particularly to packet switching in a cluster server.
2. Description of the Related Art
Cluster servers (also commonly referred to as “cluster computers”) are composed of a number of nodes linked together via a network fabric and which typically cooperate to perform shared tasks. Conventionally, the compute nodes of a cluster server are interconnected via a shared link layer, or “layer 2”, switch that serves as the hub for all inter-node communications. The switch employs at least one port per compute node, and forwards packet traffic between the ports based on a single large unified routing table. However, as a single centralized switch is involved in conducting all traffic, this approach is susceptible to faults or device failure, and can serve as a latency and bandwidth bottleneck. Moreover, each switch in the network fabric stores the routing information for every path that traverses the switch, which leads to relatively large routing tables at each switch and thus limits the scalability of such networks. Also, as L2 Ethernet switch networks are conventionally constructed as a tree topology, the root switch node in the tree topology is often the bandwidth limiter, and thus the typical solution is to employ a very large and expensive root switch node.